HAL MMC interrupt handler and callbacks ¶
This section provides information about the HAL MMC IRQ_Handler and Callbacks functions migration.
HAL MMC interrupt request handler ¶
|
HAL1 |
HAL2 |
|---|---|
void HAL_MMC_IRQHandler(MMC_HandleTypeDef *hmmc)
|
void HAL_MMC_IRQHandler(hal_mmc_handle_t *hmmc)
|
HAL MMC callbacks ¶
|
HAL1 |
HAL2 |
|---|---|
void HAL_MMC_TxCpltCallback(MMC_HandleTypeDef *hmmc)
void HAL_MMC_RxCpltCallback(MMC_HandleTypeDef *hmmc)
void HAL_MMCEx_Read_DMALnkLstBufCpltCallback(MMC_HandleTypeDef *hmmc)
void HAL_MMCEx_Write_DMALnkLstBufCpltCallback(MMC_HandleTypeDef *hmmc)
void HAL_MMC_ErrorCallback(MMC_HandleTypeDef *hmmc)
void HAL_MMC_AbortCallback(MMC_HandleTypeDef *hmmc)
|
void HAL_MMC_XferCpltCallback(hal_mmc_handle_t *hmmc,
hal_mmc_event_cb_t cb_event)
void HAL_MMC_ErrorCallback(hal_mmc_handle_t *hmmc)
void HAL_MMC_AbortCallback(hal_mmc_handle_t *hmmc)
|
HAL MMC DMA linked-list callback macro aliases ¶
|
HAL1 |
HAL2 |
|---|---|
#define HAL_MMCx_DMALinkedList_ReadCpltCallback
#define HAL_MMCx_DMALinkedList_WriteCpltCallback
|
Removed; use HAL_MMC_XferCpltCallback() instead. |
Note
In HAL1, these extended API callbacks are simple aliases to
HAL_MMC_TxCpltCallback()andHAL_MMC_RxCpltCallback()respectively.In HAL2, use
HAL_MMC_XferCpltCallback()with the event type parameter set to eitherHAL_MMC_EVENT_CB_TX_CPLTorHAL_MMC_EVENT_CB_RX_CPLTto distinguish between transfer directions.
HAL MMC DMA multi-buffer callbacks ¶
|
HAL1 |
HAL2 |
|---|---|
void HAL_MMCEx_Read_DMADoubleBuf0CpltCallback(MMC_HandleTypeDef *hmmc)
void HAL_MMCEx_Read_DMADoubleBuf1CpltCallback(MMC_HandleTypeDef *hmmc)
void HAL_MMCEx_Write_DMADoubleBuf0CpltCallback(MMC_HandleTypeDef *hmmc)
void HAL_MMCEx_Write_DMADoubleBuf1CpltCallback(MMC_HandleTypeDef *hmmc)
|
Multi-buffering is available only in some STM32 series. These series are not yet supported in HAL2. |
HAL MMC register callbacks ¶
|
HAL1 |
HAL2 |
|---|---|
|
In HAL1, the function
|
In HAL2, separate functions are available to register each specific MMC callback. The MSP init and deinit callbacks are removed; users must handle hardware initialization and deinitialization manually, refer to Initialization and de-initialization seuquence for more details. |
|
HAL1 |
HAL2 |
|---|---|
HAL_MMC_RegisterCallback(hmmc,
HAL_MMC_TX_CPLT_CB_ID,
USER_MMC_TxCpltCallback)
HAL_MMC_RegisterCallback(hmmc,
HAL_MMC_RX_CPLT_CB_ID,
USER_MMC_RxCpltCallback)
HAL_MMC_RegisterCallback(hmmc,
HAL_MMC_READ_DMA_LNKLST_BUF_CPLT_CB_ID,
USER_MMC_ReadDMALnkLstBufCpltCallback)
HAL_MMC_RegisterCallback(hmmc,
HAL_MMC_WRITE_DMA_LNKLST_BUF_CPLT_CB_ID,
USER_MMC_WriteDMALnkLstBufCpltCallback)
|
Note One event callback function handles all transfer complete events with an additional parameter to specify the event type. Refer to HAL MMC transfer use case example usage. |
HAL_MMC_RegisterCallback(hmmc,
HAL_MMC_ERROR_CB_ID,
USER_MMC_ErrorCallback)
|
HAL_MMC_RegisterErrorCallback(hmmc,
USER_MMC_ErrorCallback)
|
HAL_MMC_RegisterCallback(hmmc,
HAL_MMC_ABORT_CB_ID,
USER_MMC_AbortCallback)
|
HAL_MMC_RegisterAbortCallback(hmmc,
USER_MMC_AbortCallback)
|
HAL_MMC_RegisterCallback(hmmc,
HAL_MMC_READ_DMA_DBL_BUF0_CPLT_CB_ID,
USER_MMC_ReadDMADblBuf0CpltCallback)
HAL_MMC_RegisterCallback(hmmc,
HAL_MMC_READ_DMA_DBL_BUF1_CPLT_CB_ID,
USER_MMC_ReadDMADblBuf1CpltCallback)
HAL_MMC_RegisterCallback(hmmc,
HAL_MMC_WRITE_DMA_DBL_BUF0_CPLT_CB_ID,
USER_MMC_WriteDMADblBuf0CpltCallback)
HAL_MMC_RegisterCallback(hmmc,
HAL_MMC_WRITE_DMA_DBL_BUF1_CPLT_CB_ID,
USER_MMC_WriteDMADblBuf1CpltCallback)
|
Multi-buffering is available only in some STM32 series. These series are not yet supported in HAL2. |
HAL_MMC_RegisterCallback(hmmc,
HAL_MMC_MSP_DEINIT_CB_ID,
USER_MMC_MspDeInitCallback)
HAL_MMC_RegisterCallback(hmmc,
HAL_MMC_MSP_INIT_CB_ID,
USER_MMC_MspInitCallback)
|
Removed; The MSP init and deinit callbacks are removed. Users must handle hardware initialization and deinitialization in application code. Refer to Initialization and de-initialization seuquence for more details. |
HAL MMC unregister callbacks ¶
|
HAL1 |
HAL2 |
|---|---|
|
In HAL1, the function
|
In HAL2, unregister APIs are removed, user can simply register the default weak callback using the HAL MMC register callback APIs. |
|
HAL1 |
HAL2 |
|---|---|
HAL_MMC_UnRegisterCallback(hmmc,
HAL_MMC_TX_CPLT_CB_ID,
USER_MMC_TxCpltCallback)
HAL_MMC_UnRegisterCallback(hmmc,
HAL_MMC_RX_CPLT_CB_ID,
USER_MMC_RxCpltCallback)
HAL_MMC_UnRegisterCallback(hmmc,
HAL_MMC_READ_DMA_LNKLST_BUF_CPLT_CB_ID,
USER_MMC_ReadDMALnkLstBufCpltCallback)
HAL_MMC_UnRegisterCallback(hmmc,
HAL_MMC_WRITE_DMA_LNKLST_BUF_CPLT_CB_ID,
USER_MMC_WriteDMALnkLstBufCpltCallback)
|
Note One event callback function handles all transfer complete events with an additional parameter to specify the event type. Refer to HAL MMC transfer use case example usage. |
HAL_MMC_UnRegisterCallback(hmmc,
HAL_MMC_ERROR_CB_ID,
USER_MMC_ErrorCallback)
|
HAL_MMC_RegisterErrorCallback(hmmc,
HAL_MMC_ErrorCallback)
|
HAL_MMC_UnRegisterCallback(hmmc,
HAL_MMC_ABORT_CB_ID,
USER_MMC_AbortCallback)
|
HAL_MMC_RegisterAbortCallback(hmmc,
HAL_MMC_AbortCallback)
|
HAL_MMC_UnRegisterCallback(hmmc,
HAL_MMC_READ_DMA_DBL_BUF0_CPLT_CB_ID,
USER_MMC_ReadDMADblBuf0CpltCallback)
HAL_MMC_UnRegisterCallback(hmmc,
HAL_MMC_READ_DMA_DBL_BUF1_CPLT_CB_ID,
USER_MMC_ReadDMADblBuf1CpltCallback)
HAL_MMC_UnRegisterCallback(hmmc,
HAL_MMC_WRITE_DMA_DBL_BUF0_CPLT_CB_ID,
USER_MMC_WriteDMADblBuf0CpltCallback)
HAL_MMC_UnRegisterCallback(hmmc,
HAL_MMC_WRITE_DMA_DBL_BUF1_CPLT_CB_ID,
USER_MMC_WriteDMADblBuf1CpltCallback)
|
Multi-buffering is available only in some STM32 series. These series are not yet supported in HAL2. |
HAL_MMC_UnRegisterCallback(hmmc,
HAL_MMC_MSP_DEINIT_CB_ID,
USER_MMC_MspDeInitCallback)
HAL_MMC_UnRegisterCallback(hmmc,
HAL_MMC_MSP_INIT_CB_ID,
USER_MMC_MspInitCallback)
|
Removed; The MSP init and deinit callbacks are removed. Users must handle hardware initialization and deinitialization in application code. Refer to Initialization and de-initialization seuquence for more details. |